home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2001 May / SGI IRIX Base Documentation 2001 May.iso / usr / share / catman / a_man / cat7 / tirdwr.z / tirdwr
Encoding:
Text File  |  1998-10-20  |  7.9 KB  |  133 lines

  1.  
  2.  
  3.  
  4. ttttiiiirrrrddddwwwwrrrr((((7777))))                                                            ttttiiiirrrrddddwwwwrrrr((((7777))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      _tttt_iiii_rrrr_dddd_wwww_rrrr - Transport Interface read/write interface STREAMS module
  10.  
  11. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  12.      _tttt_iiii_rrrr_dddd_wwww_rrrr is a STREAMS module that provides an alternate interface to a
  13.      transport provider which supports the Transport Interface (TI) functions
  14.      of the Network Services library (see Section 3N).  This alternate
  15.      interface allows a user to communicate with the transport protocol
  16.      provider using the _rrrr_eeee_aaaa_dddd(2) and _wwww_rrrr_iiii_tttt_eeee(2) system calls.  The _pppp_uuuu_tttt_mmmm_ssss_gggg(2) and
  17.      _gggg_eeee_tttt_mmmm_ssss_gggg(2) system calls may also be used.  However, _pppp_uuuu_tttt_mmmm_ssss_gggg and _gggg_eeee_tttt_mmmm_ssss_gggg can
  18.      only transfer data messages between user and stream.
  19.  
  20.      The _tttt_iiii_rrrr_dddd_wwww_rrrr module must only be pushed [see _IIII______PPPP_UUUU_SSSS_HHHH in _ssss_tttt_rrrr_eeee_aaaa_mmmm_iiii_oooo(7)] onto a
  21.      stream terminated by a transport protocol provider which supports the TI.
  22.      After the _tttt_iiii_rrrr_dddd_wwww_rrrr module has been pushed onto a stream, none of the
  23.      Transport Interface functions can be used.  Subsequent calls to TI
  24.      functions will cause an error on the stream.  Once the error is detected,
  25.      subsequent system calls on the stream will return an error with _eeee_rrrr_rrrr_nnnn_oooo set
  26.      to _EEEE_PPPP_RRRR_OOOO_TTTT_OOOO.
  27.  
  28.      The following are the actions taken by the _tttt_iiii_rrrr_dddd_wwww_rrrr module when pushed on
  29.      the stream, popped [see _IIII______PPPP_OOOO_PPPP in _ssss_tttt_rrrr_eeee_aaaa_mmmm_iiii_oooo(7)] off the stream, or when
  30.      data passes through it.
  31.  
  32.      _p_u_s_h      When the module is pushed onto a stream, it will check any
  33.                existing data destined for the user to ensure that only regular
  34.                data messages are present.  It will ignore any messages on the
  35.                stream that relate to process management, such as messages that
  36.                generate signals to the user processes associated with the
  37.                stream.  If any other messages are present, the _IIII______PPPP_UUUU_SSSS_HHHH will
  38.                return an error with _eeee_rrrr_rrrr_nnnn_oooo set to _EEEE_PPPP_RRRR_OOOO_TTTT_OOOO.
  39.  
  40.      _wwww_rrrr_iiii_tttt_eeee     The module will take the following actions on data that
  41.                originated from a _wwww_rrrr_iiii_tttt_eeee system call:
  42.  
  43.                -  All messages with the exception of messages that contain
  44.                   control portions (see the _pppp_uuuu_tttt_mmmm_ssss_gggg and _gggg_eeee_tttt_mmmm_ssss_gggg system calls)
  45.                   will be transparently passed onto the module's downstream
  46.                   neighbor.
  47.  
  48.                -  Any zero length data messages will be freed by the module
  49.                   and they will not be passed onto the module's downstream
  50.                   neighbor.
  51.  
  52.                -  Any messages with control portions will generate an error,
  53.                   and any further system calls associated with the stream will
  54.                   fail with _eeee_rrrr_rrrr_nnnn_oooo set to _EEEE_PPPP_RRRR_OOOO_TTTT_OOOO.
  55.  
  56.      _rrrr_eeee_aaaa_dddd      The module will take the following actions on data that
  57.                originated from the transport protocol provider:
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ttttiiiirrrrddddwwwwrrrr((((7777))))                                                            ttttiiiirrrrddddwwwwrrrr((((7777))))
  71.  
  72.  
  73.  
  74.                -  All messages with the exception of those that contain
  75.                   control portions (see the _pppp_uuuu_tttt_mmmm_ssss_gggg and _gggg_eeee_tttt_mmmm_ssss_gggg system calls)
  76.                   will be transparently passed onto the module's upstream
  77.                   neighbor.
  78.  
  79.                -  The action taken on messages with control portions will be
  80.                   as follows:
  81.  
  82.                     [] Messages that represent expedited data will generate an
  83.                        error.  All further system calls associated with the
  84.                        stream will fail with _eeee_rrrr_rrrr_nnnn_oooo set to _EEEE_PPPP_RRRR_OOOO_TTTT_OOOO.
  85.  
  86.                     [] Any data messages with control portions will have the
  87.                        control portions removed from the message prior to
  88.                        passing the message on to the upstream neighbor.
  89.  
  90.                     [] Messages that represent an orderly release indication
  91.                        from the transport provider will generate a zero length
  92.                        data message, indicating the end of file, which will be
  93.                        sent to the reader of the stream.  The orderly release
  94.                        message itself will be freed by the module.
  95.  
  96.                     [] Messages that represent an abortive disconnect
  97.                        indication from the transport provider will cause all
  98.                        further _wwww_rrrr_iiii_tttt_eeee and _pppp_uuuu_tttt_mmmm_ssss_gggg system calls to fail with
  99.                        _eeee_rrrr_rrrr_nnnn_oooo set to _EEEE_NNNN_XXXX_IIII_OOOO.  All further _rrrr_eeee_aaaa_dddd and _gggg_eeee_tttt_mmmm_ssss_gggg system
  100.                        calls will return zero length data (indicating end of
  101.                        file) once all previous data has been read.
  102.  
  103.                     [] With the exception of the above rules, all other
  104.                        messages with control portions will generate an error
  105.                        and all further system calls associated with the stream
  106.                        will fail with _eeee_rrrr_rrrr_nnnn_oooo set to _EEEE_PPPP_RRRR_OOOO_TTTT_OOOO.
  107.  
  108.                -  Any zero length data messages will be freed by the module
  109.                   and they will not be passed onto the module's upstream
  110.                   neighbor.
  111.  
  112.      _p_o_p       When the module is popped off the stream or the stream is
  113.                closed, the module will take the following action:
  114.  
  115.                -  If an orderly release indication has been previously
  116.                   received, then an orderly release request will be sent to
  117.                   the remote side of the transport connection.
  118.  
  119. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  120.      _ssss_tttt_rrrr_eeee_aaaa_mmmm_iiii_oooo(7), _tttt_iiii_mmmm_oooo_dddd(7)
  121.      _iiii_nnnn_tttt_rrrr_oooo(2), _gggg_eeee_tttt_mmmm_ssss_gggg(2), _pppp_uuuu_tttt_mmmm_ssss_gggg(2), _rrrr_eeee_aaaa_dddd(2), _wwww_rrrr_iiii_tttt_eeee(2), _iiii_nnnn_tttt_rrrr_oooo(3)
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.